Parse, don’t validate
https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/
validationは戻り値がない
バリデーションルールと、そのルールが満たされた状態を型で表現できない
これがShotgun parsingというアンチパターンが生まれる元になる
parseは戻り値がある
内部的にはvalidation + 入力のデータ構造を整形する
ルールが満たされた状態を型で表現できる
再利用性がある
これをドメインモデルの実装に落とし込むパターンがAlways Valid Model